package cn.iocoder.an.module.mold.controller.admin.linestopregistration.vo;

import cn.idev.excel.annotation.ExcelProperty;
import lombok.*;

import java.time.LocalDate;
import java.util.*;
import io.swagger.v3.oas.annotations.media.Schema;
import cn.iocoder.an.framework.common.pojo.PageParam;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;

import static cn.iocoder.an.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;

@Schema(description = "管理后台 - 停线登记分页 Request VO")
@Data
public class LinestopRegistrationPageReqVO extends PageParam {

    @Schema(description = "日期")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private LocalDate[] registrationDate;

    @Schema(description = "车间名", example = "李四")
    private String workshopName;

    @Schema(description = "提出人")
    private String proposer;

    @Schema(description = "停线类型")
    private String category;

    @Schema(description = "停线问题")
    private String question;

    @Schema(description = "停线原因", example = "不喜欢")
    private String reason;

    @Schema(description = "开始时间")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private LocalDateTime[] startTime;

    @Schema(description = "结束时间")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private LocalDateTime[] endTime;

    @Schema(description = "持续时间(分钟)")
    private Double duration;

    @Schema(description = "责任部门")
    private String responsibleDepartment;

    @Schema(description = "责任人")
    private String respersonids;

    @Schema(description = "责任人")
    private String respersons;

    @Schema(description = "影响人数")
    private Double numberOfAffected;

    @Schema(description = "创建时间")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private LocalDateTime[] createTime;

    @Schema(description = "提交状态")
    @ExcelProperty("提交状态")
    private int submitIf;

}